--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lang/README.de.md v4.4.0-rc.2 (8c81399b) Text, 11.80 KB
Reticulum MeshChatX
Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.
Dieses Projekt ist unabhaengig vom originalen Reticulum MeshChat und steht in keiner Verbindung dazu.
• Website: meshchatx.com
• Quellcode: git.quad4.io/RNS-Things/MeshChatX
• Offizieller Spiegel: github.com/Sudo-Ivan/MeshChatX – derzeit auch fuer Windows- und macOS-Builds genutzt.
• Releases: git.quad4.io/RNS-Things/MeshChatX/releases
• Aenderungsprotokoll: CHANGELOG.md
• TODO: Boards
Wichtige Aenderungen gegenueber Reticulum MeshChat
• Verwendet LXST
• Peewee-ORM durch direktes SQL ersetzt
• Axios durch natives T383838fetch ersetzt
• Aktuelles Electron
• T383838.whl-Pakete mit Webserver und eingebauten Frontend-Assets fuer mehr Deploy-Optionen
• i18n
• PNPM und Poetry fuer Abhaengigkeiten
│ [!WARNING] MeshChatX garantiert keine Datenkompatibilitaet mit aelteren
│ Reticulum-MeshChat-Versionen. Erstellen Sie vor Migration oder Tests eine Datensicherung.
│ [!WARNING] Aeltere Systeme werden noch nicht vollstaendig unterstuetzt. Aktuelle
│ Mindestanforderungen: Python T383838>=3.11 und Node T383838>=24.
Voraussetzungen
• Python T383838>=3.11 (aus T383838pyproject.toml)
• Node.js T383838>=24 (aus T383838package.json)
• pnpm T38383810.32.1 (aus T383838package.json)
• Poetry (verwendet in T383838Taskfile.yml und CI-Workflows)
T282828
task install
task lint:all
task test:all
task build:all
Installationsmethoden
Waehlen Sie die Methode passend zu Umgebung und Paketierung.
┌─────────────────────┬────────────────────┬─────────────────┬─────────────────────────────────────┐
│ Methode │ Frontend enthalten │ Architekturen │ Geeignet fuer │
├─────────────────────┼────────────────────┼─────────────────┼─────────────────────────────────────┤
│ Docker-Image │ Ja │ T383838linux/amd64, T383838l… │ Schnellster Start auf Linux-Servern │
│ Python Wheel (T383838.whl) │ Ja │ Jede Python-un… │ Headless/Webserver ohne Node-Build │
│ Linux AppImage │ Ja │ T383838x64, T383838arm64 │ Portabler Desktop-Einsatz │
│ Debian-Paket (T383838.deb) │ Ja │ T383838x64, T383838arm64 │ Debian/Ubuntu-Installation │
│ RPM-Paket (T383838.rpm) │ Ja │ CI-abhaengig │ Fedora/RHEL/openSUSE │
│ Aus Quellcode │ Lokal gebaut │ Host-Architekt… │ Entwicklung und individuelle Builds │
└─────────────────────┴────────────────────┴─────────────────┴─────────────────────────────────────┘
Hinweise:
• Der Release-Workflow baut explizit Linux T383838x64 und T383838arm64 AppImage + DEB.
• RPM wird ebenfalls versucht und bei Erfolg hochgeladen.
Schnellstart: Docker
T282828
docker compose up -d
Standard-Compose-Datei:
• T383838127.0.0.1:8000 auf dem Host -> Container-Port T3838388000
• T383838./meshchat-config -> T383838/config fuer Persistenz
Bei Berechtigungsproblemen:
T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config
Installation aus Release-Artefakten
1) Linux AppImage (x64/arm64)
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.AppImage von den Releases herunterladen.
2. Ausfuehrbar machen und starten:
T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage
2) Debian/Ubuntu T383838.deb (x64/arm64)
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.deb herunterladen.
2. Installieren:
T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb
3) RPM-basierte Systeme
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.rpm herunterladen, falls im Release vorhanden.
2. Installieren:
T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm
4) Python Wheel (T383838.whl)
Release-Wheels enthalten die gebauten Web-Assets.
T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchatx --headless
T383838pipx wird ebenfalls unterstuetzt:
T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl
Aus Quellcode ausfuehren (Webserver-Modus)
Fuer Entwicklung oder lokale Custom-Builds.
T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run python -m meshchatx.meshchat --headless --host T79c0ff127.0.0.1
Sandboxing (Linux)
Um das native T383838meshchatx-Programm (Alias: T383838meshchat) mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie Firejail oder Bubblewrap (T383838bwrap) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, Poetry, Hinweise zu USB-Seriell) finden Sie in:
Dieselbe Seite erscheint in der in-app-Dokumentation (MeshChatX-Docs), wenn sie aus den gebuendelten oder synchronisierten T383838meshchatx-docs-Dateien ausgeliefert wird.
Desktop-Pakete aus Quellcode bauen
Diese Skripte sind in T383838package.json und T383838Taskfile.yml definiert.
Linux x64 AppImage + DEB
T282828
pnpm run dist:linux-x64
Linux arm64 AppImage + DEB
T282828
pnpm run dist:linux-arm64
RPM
T282828
pnpm run dist:rpm
Oder ueber Task:
T282828
task dist:fe:rpm
Architekturunterstuetzung
• Docker: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64 (Build-Skripte vorhanden)
• macOS: Build-Skripte vorhanden (T383838arm64, T383838universal) fuer lokale Build-Umgebungen
• Android: Projekt und CI-Workflow im Repository enthalten
Android
Konfiguration
┌────────────────────────┬──────────────────────────────────────┬──────────────┬───────────────────┐
│ Argument │ Umgebungsvariable │ Standard │ Beschreibung │
├────────────────────────┼──────────────────────────────────────┼──────────────┼───────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Webserver-Bind-A… │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Webserver-Port │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ HTTPS deaktivier… │
│ T383838--ssl-cert / T383838--ssl-key │ T383838MESHCHAT_SSL_CERT / T383838MESHCHAT_SSL_KEY │ (keine) │ PEM-Zertifikat u… │
│ T383838--rns-log-level │ T383838MESHCHAT_RNS_LOG_LEVEL │ (keine) │ Reticulum (RNS) … │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ Browser nicht au… │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ Basis-Authentifi… │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ Datenverzeichnis │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ auto/bundled │ Frontend-Verzeic… │
└────────────────────────┴──────────────────────────────────────┴──────────────┴───────────────────┘
Branches
┌────────┬────────────────────────────────────────────────────────────────────────────────┐
│ Branch │ Zweck │
├────────┼────────────────────────────────────────────────────────────────────────────────┤
│ T383838master │ Stabile Releases. Nur produktionsreifer Code. │
│ T383838dev │ Aktive Entwicklung. Kann instabile oder unvollstaendige Aenderungen enthalten. │
└────────┴────────────────────────────────────────────────────────────────────────────────┘
Entwicklung
Gaengige Aufgaben aus T383838Taskfile.yml:
T282828
task install
task lint:all
task test:all
task build:all
T383838Makefile-Kurzformen:
┌──────────────┬───────────────────────────────────────────────┐
│ Befehl │ Beschreibung │
├──────────────┼───────────────────────────────────────────────┤
│ T383838make install │ pnpm- und Poetry-Abhaengigkeiten installieren │
│ T383838make run │ MeshChatX ueber Poetry starten │
│ T383838make build │ Frontend bauen │
│ T383838make lint │ eslint und ruff ausfuehren │
│ T383838make test │ Frontend- und Backend-Tests │
│ T383838make clean │ Build-Artefakte und node_modules entfernen │
└──────────────┴───────────────────────────────────────────────┘
Versionierung
Aktuelle Version in diesem Repository: T3838384.4.0.
• T383838package.json ist die Quelle fuer die JavaScript/Electron-Version.
• T383838meshchatx/src/version.py wird aus T383838package.json synchronisiert mit:
T282828
pnpm run version:sync
Fuer konsistente Releases die Versionsfelder dort abgleichen, wo noetig (T383838package.json, T383838pyproject.toml, T383838meshchatx/__init__.py).
Sicherheit
• Integrierte Integritaetspruefungen und HTTPS/WSS-Standardeinstellungen in der App
• CI-Scanning-Workflows in T383838.gitea/workflows/
Sprache hinzufuegen
Die Spracherkennung erfolgt automatisch. Um eine neue Sprache hinzuzufuegen, genuegt eine einzige JSON-Datei:
1. Leere Vorlage aus T383838en.json erzeugen:
T282828
python scripts/generate_locale_template.py
Damit wird T383838locales.json mit leeren Strings fuer alle Schluessel geschrieben.
2. Umbenennen und in das Locale-Verzeichnis verschieben:
T282828
mv locales.json meshchatx/src/frontend/locales/xx.json
3. T383838_languageName am Anfang der Datei auf den nativen Sprachnamen setzen (z.B. T383838"Espanol", T383838"Francais"). Wird im Sprachwahlmenue angezeigt.
4. Alle uebrigen Werte uebersetzen.
5. Schluesselparitaet pruefen: T383838pnpm test -- tests/frontend/i18n.test.js --run
Keine weiteren Code-Aenderungen noetig. App, Sprachwahl und Tests lesen Locales zur Build-Zeit aus T383838meshchatx/src/frontend/locales/.
Mitwirkende
• Liam Cottle - Originales Reticulum MeshChat
• RFnexus - Micron-Parser (JavaScript)
• markqvist - Reticulum, LXMF, LXST
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────